/* This program is free software: you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public License
 as published by the Free Software Foundation, either version 3 of
 the License, or (at your option) any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>. */

package org.opentripplanner.geocoder;

import com.vividsolutions.jts.geom.Envelope;


public class AlternatingGeocoder implements Geocoder {
    
    private Geocoder geocoder1;
    private Geocoder geocoder2;
    private boolean useFirstGeocoder;

    
    public AlternatingGeocoder(Geocoder geocoder1, Geocoder geocoder2) {
        this.geocoder1 = geocoder1;
        this.geocoder2 = geocoder2;
        this.useFirstGeocoder = false;
    }

    @Override
    public GeocoderResults geocode(String address, Envelope bbox) {
        useFirstGeocoder = !useFirstGeocoder;
        Geocoder g = useFirstGeocoder ? geocoder1 : geocoder2;
        return g.geocode(address, bbox);
    }

}
